clear; close all; %% K = 0.1; T1 = 1; T2 = 0.001; T3 = 0.1 N = 100; W10min = -2; W10max = 3; w = logspace(W10min, W10max, N); A4X = (K.*sqrt(1.+T1.^2.*w.^2).*sqrt(1.+T2.^2.*w.^2).*sqrt(1.+T3.^2.*w.^2))/(1.+T3.^2.*w.^2); A4X = K.*20*log10(A4X); F4X = atan(T1.*w)+atan(T2.*w)-atan(T3.*w); F4X = F4X * 180/pi; Tau = 2*pi/10 * T3 * 0.1; % Период дискретизации. fD = 1/Tau ; % Частота дискретизации. Drtn = 1000; % Длительность сигнала. nSamples = Drtn * fD; % Число отсчётов в сигнале. DgtFltr = zeros(size(w)); % Точки АЧХ цифрового фильтра. for i = 1:length(w)-1 s = (1:nSamples); %AlmostTime x = sin( w(i)/fD * s ); % Синус текущей частоты. % Цифровая фильтрация y =zeros(size(x)) ; for j = 2:length(x); k1 = (1/(T1+Tau)) ; y(j) = k1*x(j) - k1*x(j-1) + T1*k1*y(j-1); end DgtFltr(i) = 20*log10( pi/2*sum(abs(y))/length(y) ); end subplot(2, 1, 1); semilogx(w, A4X); title('ЛАЧХ'); grid; hold all semilogx(w, DgtFltr, 'r--'); ylabel('L, дБ'); xlabel('{\omega}, Гц'); legend('ЛАЧХ непрерывного звена', 'ЛАЧХ дискретного звена'); subplot(2, 1, 2); semilogx(w, F4X); xlabel('{\omega}, Гц'); title('ЛФЧХ'); grid;